专利摘要:
SYSTEM AND METHOD FOR DISPLAYING MULTIPLE APPLICATIONS These are computer program systems, methods and products for displaying multiple applications in a graphical user interface ("GUI"). An application control system ("ACS") can determine which applications to display, and the ACS can determine an optimal layout for the application in the GUI. P ACS can move and/or resize applications and automatically determine an optimal layout such that the applications substantially fill a portion of the GUI. Additionally, ACS can facilitate communication between applications that use an application programming interface ("API"). An application can get information from any other application in the GUI by passing requests through the API.
公开号:BR112015012697B1
申请号:R112015012697-9
申请日:2013-11-26
公开日:2022-01-25
发明作者:Coy Christmas;Luke Malpass;Parnell Lutz;Alan Leschyshyn
申请人:Edsense, L.L.C.;
IPC主号:
专利说明:

FIELD OF TECHNIQUE
[001] The present disclosure relates generally to graphical user interfaces and, more particularly, to systems and methods of displaying interactive applications in a graphical user interface. BACKGROUND OF THE TECHNIQUE
[002]Graphical user interfaces ("GUI") provide a user with a visual display for interacting with computing resources. As the complexity and speed of software applications continues to increase, it becomes more important for GUIs to provide user-friendly views that allow users to interact with multiple programs. GUIs allow users to open multiple applications at once. However, the user needs to position each application on the GUI in order to create a desired layout. The user also needs to resize each app individually. If a user wants to add an additional app to the view, the user needs to resize the apps so that all apps are viewed simultaneously.
[003]Additionally, on existing systems, applications that run on a computer system may have limited means to communicate with each other. Each application may have a specific purpose, and while an application may contain data that would be useful to another application, it may require additional software or application programming changes in order for applications to share data, or the user may be required to manually get data from one application and insert the data into another application. SUMMARY
[004] The present disclosure includes a system, method and computer program product for displaying multiple applications in a graphical user interface ("GUI"). In various embodiments, an application control system ("ACS") can assign numerous applications to display in a GUI. SCW can determine a relative size for each application. ACS can determine an optimal location for each application such that the applications substantially fill a portion of the GUI. The GUI can stream data to a web client to display the applications in an optimal layout.
[005]In various embodiments, the ACS can receive data from a first application. ACS may determine that a second application is likely to have additional data relevant to the data received from the first application. ACS may request additional data from the second application. The ACS can receive the additional data and transmit the additional data to the first application. ACS can complete a first application request using the additional data. BRIEF DESCRIPTION OF THE DRAWINGS
[006] A more complete understanding can be achieved by referring to the detailed description and claims when considered in conjunction with the Figures, where similar reference numbers refer to similar elements throughout the Figures, and:
[007]Figure 1 illustrates a block diagram of a system for displaying multiple applications in a GUI according to various modes of development;
[008]Figure 2 illustrates an example of a GUI screen that displays four applications according to various modalities;
[009]Figure 3 illustrates an example of a GUI screen that displays five applications according to various modalities;
[010]Figure 4 illustrates an example of a GUI screen with an application resized according to various modalities;
[011]Figure 5 illustrates a flowchart of a process to determine an ideal layout according to various modalities;
[012]Figure 6 illustrates a flowchart of a process to transmit data between applications according to various modalities;
[013]Figure 7 illustrates an example of a GUI screen with educational applications according to various modalities;
[014]Figure 8 illustrates a flowchart of a process for displaying a plurality of applications according to various modalities;
[015]Figure 9 illustrates a flowchart of a process to remove an application from a view according to various modalities;
[016]Figure 10 illustrates a flowchart of a process to resize a display according to various modalities;
[017]Figure 11 illustrates a flowchart of a process to disable an application according to various modalities;
[018]Figure 12 illustrates a flowchart of a process to increase the size of an application according to various modalities; and
[019]Figure 13 illustrates a flowchart of a process to move an application according to various modalities. DETAILED DESCRIPTION
[020] The detailed description of exemplary embodiments in the present invention makes reference to the accompanying drawings and images, which show various embodiments by way of illustration. While these various modalities are described in sufficient detail to allow those skilled in the art to put the disclosure into practice, it should be understood that other modalities can be realized and that logical and mechanical changes can be made without departing from the spirit and scope. of the revelation. Accordingly, the detailed description of the present invention is presented for purposes of illustration only and not limitation. For example, steps mentioned in any method or process descriptions can be performed in any order and are not limited to the order presented. In addition, any of the functions or steps may be outsourced or performed by one or more third parties. Additionally, any reference to singular includes plural embodiments, and any reference to more than one component may include a singular embodiment.
[021] Computer program systems, methods and products are provided. In the detailed description of the present invention, references to "several embodiments", "a (numeral) embodiment", "an (indefinite article) embodiment", "an (indefinite article) example embodiment", etc., indicate that the embodiment described may include a particular feature, structure, or feature, but each modality may not necessarily include a particular feature, structure, or feature. Furthermore, such phrases are not necessarily referring to the same modality. Furthermore, when a particular feature, structure or feature is described in conjunction with an embodiment, it is suggested that it is included in the knowledge of a person skilled in the art to effect such feature, structure or feature in conjunction with other embodiments whether or not explicitly described. . After reading the description, it will be evident to a person versed in the relevant technique(s) how to implement disclosure in alternative modalities.
[022]The systems, methods and articles of manufacture for displaying a plurality of applications in a graphical user interface ("GUI") are disclosed. In various embodiments, a plurality of applications can be displayed on a GUI. In various embodiments, applications can also be called blocks. The plurality of applications may be located in the GUI such that each of a plurality of applications may be located in a portion of the GUI, and the plurality of applications may substantially cover the GUI. An application control system ("ACS") can control the relative size and location of each application. SCW can understand predefined settings for each application such that applications considered to have a relatively high importance level appear higher in the GUI, and applications considered to have a relatively low importance level appear lower in the GUI. ACS may adjust predefined settings in response to tracking a user's usage of the various applications. ACS can adjust the size and location of applications in response to incorporating additional applications into the GUI or removing applications from the GUI. Additionally, the user can adjust settings for user preferences.
[023] In various modalities, the various applications can communicate with each other. The various applications can communicate with each other through a series of calls. In various embodiments, a first application may determine that information from a second application may be needed in order to complete a task. The first application can pass a request to the second application for the desired information through an application programming interface ("API"). The second app can pass the desired information to the first app, and the first app can use the information to complete the task.
[024] In various embodiments, the API can be part of a cloud-based system. Cloud computing is discussed in further detail of the present invention. Each application may have various permissions that allow the application to perform specific functions and obtain data from various third-party servers and databases.
[025]Referring to Figure 1, a system 100 for displaying a plurality of applications is illustrated in accordance with various embodiments. System 100 may comprise an application control system ("ACS") 110, a web client 130, one or more servers 140, and one or more databases 150. ACS 110 may comprise an API 160. ACS 110 may additionally comprise any combination of servers and databases. The various components of the system may communicate over the network 120. The web client 130 may comprise a graphical user interface ("GUI") 170. In various embodiments, the ACS 110 may be capable of or configured to run all or part of a process in relation to displaying applications on a GUI 170. The ACS 110 may comprise any combination of hardware and software, such as servers, databases, firewalls, computers, etc. Network 120 may include any cloud, cloud computing system or electronic communications system or method that incorporates hardware and/or software components. Communication between the parties may be carried out through any suitable communication channels, such as, for example, a telephone network, an extranet, an intranet, the Internet, a point of interaction device (bridge of sale device, personal digital assistant (e.g. iPhone®, Palm Pilot®, Blackberry®, cell phone, kiosk, etc.), online communications, satellite communications, offline communications, wireless communications, transponder communications, local area network (LAN) , wide area network (WAN), virtual private network (VPN), linked or networked devices, keyboard, mouse and/or any suitable data entry or communication modality. as being deployed with TCP/IP communications protocols, the system can also be deployed using IPX, Appletalk, IP-6, NetBIOS, OSI, any tunneled protocol (e.g. IPsec, SSH), or any number of protocols f future or existing. If the network is in the nature of a public network, such as the Internet, it may be advantageous to assume the network is insecure and open to eavesdroppers. Specific information relating to protocols, standards and application software used in conjunction with the Internet are generally known to those skilled in the art and as such need not be detailed in the present invention. See, for example, DILIP NAIK, INTERNET STANDARDS AND PROTOCOLS (1998); JAVA 2 COMPLETE, various authors, (Sybex 1999); DEBORAH RAY AND ERIC RAY, MASTERING HTML 4.0 (1997); and LOSHIN, TCP/IP CLEARLY EXPLAINED (1997) and DAVID GOURLEY AND BRIAN TOTTY, HTTP, THE DEFINITIVE GUIDE (2002), the contents of which are incorporated herein by reference. The various system components may be independently, separately or collectively properly coupled to the network via data links which include, for example, a connection to an Internet Service Provider (ISP) over the local loop as is typically used together with standard modem communication, cable modem, satellite networks, ISDN, Digital Subscriber Line (DSL) or various wireless communication methods, see, for example, GILBERT HELD, UNDERSTANDING DATA COMMUNICATIONS (1996), which is incorporated in the this document as a reference. It is observed that the network can be deployed like other types of networks, such as an interactive television network (ITV). Furthermore, the system contemplates the use, sale or distribution of any products, services or information over any network with similar functionality described in the present invention.
[026] The web client 130 may comprise any device capable of interacting with the network 120. In various embodiments, the web client 130 may comprise a personal computer. However, in various embodiments, the web client 130 may comprise a PDA, laptop, cell phone, GPS device, vehicle navigation system, or any other device. Various types of web clients are described in further detail in the present invention.
[027]In various embodiments, the ACS 110 may display a plurality of applications on a GUI 170. The plurality of applications may be any applications capable of being displayed on a GUI 170. For example, in various embodiments the applications may include a web browser, a calendar application, a web chat application, an e-mail application, a document viewing application, a media player application, etc. One skilled in the art will appreciate that there are an endless number of applications that can be used consistently with the present disclosure.
[028]Referring to Figure 2, a GUI 200 with four applications is illustrated according to various modes of development. The GUI 200 comprises application A 210, application B 220, application C 230, and application D 240. The ACS 110 formats the layout such that the applications substantially fill a portion of the GUI 200. In the illustrated embodiment, the GUI portion 200 is substantially the entire GUI 200. However, the portion of the GUI 200 can be any portion of the GUI 200. The ACS 110 may base the relative size of each application on a variety of factors, including, but not limited to, predefined settings, preferences of user, a rating of each application, the type and amount of data in each application, and the frequency of use of each application.
[029] In various embodiments, the ACS 110 can select a predefined number of applications to be displayed on the GUI 170. For example, in various embodiments, the ACS 110 can initially display five applications simultaneously on the GUI 170. In various embodiments, the ACS 110 can track the most frequently used apps by a user and change the predefined number of apps for the user. For example, if the user uses four applications on a regular basis, the ACS 110 can change the preset number of applications to four. If the user uses seven applications on a regular basis, the ACS 110 can change the preset number of applications for the user to seven. In various embodiments, the user can select a different number of applications to be displayed on the GUI 170. In various embodiments, the user can save a plurality of settings for numerous applications to be displayed. For example, the user may have settings to display three, six, or ten apps. The user can switch between the saved settings in order to display the desired number of applications.
[030]Referring to Figure 3, a GUI 300 with five applications is illustrated according to various modalities. The GUI 300 displays the four applications displayed on the GUI 200, however, an additional application E 350 is also displayed. The user may have the E 350 application added to the GUI 300, or the ACS 110 may have determined that the E 350 application should also be displayed. The ACS 110 determines an optimal layout for the five applications such that the applications substantially fill a portion of the GUI 300. The ACS 110 can move or resize the previous application to provide an optimal layout.
[031] In various embodiments, the ACS 110 may display the applications on the GUI 170 in such a way that the applications fill substantially a portion of the GUI 170. The portion may comprise any portion of the GUI 170, such as substantially all of the GUI 170. ACS 110 can change the relative size and location of applications in response to ACS 110, add or remove applications, such that the applications substantially fill the portion of the GUI 170 regardless of how many applications are displayed. The various applications can be displayed as substantially rectangular, however, the applications can comprise any shape. The ACS 110 can use an algorithm to determine an optimal size and location for each application. The algorithm can determine the optimal size and location for the various applications based on at least one of the many applications that are displayed, the frequency of use of an application, the amount or type of information displayed in an application, the applications most recently used and a user rating of an application. The ACS 110 can divide the GUI 170 into a grid such that the ACS 110 uses an algorithm to determine the optimal layout based on coordinates in the grid.
[032] In various modes, the user can customize the size and location of applications. The user can rate applications and the ACS 110 can consider user ratings when determining an optimal layout for applications. The user can resize an application and the ACS 110 can determine a layout that incorporates the resized application. The ACS 110 may change the size and/or locations of various applications in response to the user resizing the application. In various embodiments, the user can change the location of an application by dragging the application or changing the size by any other method known in the art, and the ACS 110 can determine a new layout that incorporates the new location of the application. In various embodiments, the user can lock the size or location of an application such that when the ACS 110 reformats an application layout, the size and/or location of the locked application does not change.
[033] In various embodiments, the ACS 110 may determine that one or more applications are an active application. The ACS 110 can determine that an application is an active application by determining that a user has interacted with an application within a predetermined period of time. In various embodiments, the ACS 110 may determine that a plurality of applications consists of active applications. However, in many modalities, only one application can be active at any given time. In various embodiments, a user may turn an application into an active application by clicking or tapping on an application or by selecting an application by any other method known in the art.
[034]Referring to Figure 4, a GUI 400 with a resized application is illustrated. Similar to GUI 200, GUI 400 comprises application A 210, application B 220, application C 230, and application D 240. However, in GUI 400, ACS 110 determined that application A 210 should be larger. The user may have the application manually resized A 210. In various embodiments, the ACS 110 may have determined that application A 210 is an active application and must be larger. In response to the determination that the A 210 application is an active application, the ACS 110 increased the size of the A 210 application. The ACS 110 reformats the layout by decreasing the size of the other applications such that the applications still substantially fill the GUI 400.
[035] In various embodiments, the ACS 110 may determine that a first application is an active application and the ACS 110 may activate a second application in response to the first application being active. For example, the ACS 110 can determine that a user typically uses the second application within a short period of time after using the first application. In response to the first application being active, the ACS 110 may anticipate that the user will be using the second application and the ACS 110 will transform the second application into an active application to allow the user to more easily use the second application. The ACS 110 can use complex algorithms to determine any number of applications as assets based on a previous user usage of the applications.
[036]In response to an application that is an active application, the ACS 110 may change the application display. For example, the ACS 110 can increase the size of the active application. In response to the increase in the size of the active application, the ACS 110 can reformat the layout of non-active applications. The ACS 110 can decrease the size of non-active applications and/or remove a non-active application from the layout. In various modes, the ACS 110 can change the brightness, opacity, or other visual properties of an active application.
[037] In various embodiments, the ACS 110 can select the applications to be displayed in the GUI based on an active application. The ACS 110 can determine the most commonly used applications in conjunction with an active application and display the commonly used applications in the GUI. In various embodiments, each time the user selects an application as an active application, the ACS 110 selects different applications to display. The user can customize which apps should be displayed based on which apps are active.
[038] In various embodiments, the ACS 110 can determine an optimal layout for the particular web client. The ACS 110 can determine a pixel size of a monitor for a personal computer and adjust the number and relative size of applications that best fit the monitor. Additionally, the ACS 110 can determine that the web client is a portable consumer device such as a smart phone or a tablet and the ACS 110 can display fewer applications on the GUI 170 in order to allow the user to interact more efficiently with a display. smaller. The user can have the option to select between a limited view or a full view for multiple web clients.
[039]Referring to Figure 5, a process 500 for determining an optimal layout is illustrated in accordance with various modalities. The ACS 110 can determine a number of applications to display (step 510). The ACS 110 can determine a relative size of each application based on factors described in the present invention (step 520). The ACS 110 can determine a GUI grid size and determine the optimal location for each application (step 530). The ACS 110 can transmit data to the web client 130 for displaying the applications in the optimal layout (step 540).
[040]In various modalities, applications can communicate with each other. Each application may be connected to a data source via network 120. A first application may determine that a second application has access to data that is desired by the first application. The first app can pass a request to the second app for the desired information, and the second app can pass the desired information to the first app.
[041]Referring to Figure 6, a process 600 for communicating information between applications is illustrated in accordance with various modalities. A user can enter data into a first application and the ACS 110 can receive the data (step 610). The ACS 110 can determine what additional information is needed in order to complete a request associated with the data. The ACS 110 may determine that a second application is likely to have additional information (step 620). The ACS 110 can transmit a request to the second application for the additional information (step 630). The second application may have additional information available. In various embodiments, the second application can get the additional information over the network 120. The second application can transmit the additional information to the ACS 110 and the ACS 110 can transmit the additional information to the first application (step 640). The first application can use the additional information to complete the request (step 650).
[042] In various embodiments, the ACS 110 may determine that it is more efficient for a second application to complete a request initiated in a first application. The first application may transmit the desired request to the ACS 110. The ACS 110 may determine that the request may have been completed more efficiently by the second application. The ACS 110 can transmit the request to the second application and the second application can complete the request.
[043]Referring to Figure 7, a process for sending a communication is described with reference to a screenshot example according to various modalities. Figure 7 illustrates a 700 layout in a GUI that can be used by an administrator in the education configuration. Layout 700 may comprise a student list application 710, a grades application 720, a student information application 730, and a communication application 740. As an example request, an administrator user may wish to send an email to the parents of a private student. The administrator can select a student from the Student List application 710. In various embodiments, at least one of the Grades Application 720, Student Information Application 730, and Communication Application 740 can automatically load content relevant to the student in response to the administrator who selects the student. Student List Application 710 can pass data to API 160 that indicates that a user has selected the student, and API 160 can pass related information to the student for each application. The Grades application 720 can load the student's current grades, the Student Information Application 730 can load contact information for the student and the student's parents, and the Communication Application 740 can initiate communication such as an e-mail or phone call to the student's parents. In various embodiments, the communication application 740 may request contact information from the student information application 730 through API 130. The administrator can enter a message in the communication application 740 and transmit the message to the student's parents.
[044] In various embodiments, the administrator can indicate in the 710 student list application that the administrator wants to send a message to the student's parents. The administrator can type a message in the Student List 710 application. However, the Student List 710 application may not have access to parent contact information or the ability to send e-mails. The Student List Application 710 can transmit the request to the Student Information Application 730 and the Student Information Application 730 can associate the parents' contact information with the request and send the request as well as the parents' contact information. to the communication application 740 through API 130. The communication application 740 can transmit the message to the parents.
[045]Although described in reference to sending a message in an educational setting, the ACS 110 can be compatible in any field, which includes medical fields, business fields, as well as general computing that involves multiple applications. Additionally, any number of applications can communicate with each other to complete any number of tasks, and sending a message is simply one example of the many functions of the ACS 110 that will be appreciated by one skilled in the art.
[046]In various embodiments, one or more applications can display content based on the content of an active application. A user can enter or receive information in a first app and a second app can search for and/or display content related to the information in the first app. The second app can search for information based on keywords used in the first app. For example, the user may be participating in a conversation through a communication application. The user can type the word "Beethoven" as part of the conversation and one or more apps can display content related to Beethoven, such as a video app that displays a video about Beethoven and an internet search application that displays links to Beethoven websites. web related to Beethoven.
[047]In various embodiments, an application displayed in the GUI can be a master application. The user can interact with the master application to control the applications displayed in the GUI. In various modalities, the user can enter information into the master application and some or all of the applications can display content associated with the information. In various modalities, the user can initiate a task by entering data into the master application. For example, a user can enter the phrase "send link to study website to all students with a grade of C in math subject." The master application can pass the phrase to the ACS 110 and the ACS 110 can grade the phrase. in keywords and the use of language rules determines the meaning of the sentence. The ACS 110 can transmit requests to various applications to complete the task. For example, the ACS 110 can determine that the list of students in the math subject can be obtained from the Student List application 710 and transmit a request to the list. Using the list, the ACS 110 can transmit a request to the Grade Application to identify the list of all students in the math subject with a note C. The ACS 110 can transmit a request to an internet research application to perform a web search for study websites. The ACS 110 can transmit requests to the research application. student information 730 and the communication application 740 to send a link to a study website for students with a C grade in the math subject.
[048]Applications can communicate with the 120 network in substantially real-time. Applications can download current information. Applications can share current information with each other in order to stay current. Although described as applications of the present invention, in various embodiments, the applications may be part of a cloud-based system that operates independently of the web client 130 and the web client 130 acts as an interface between the user and the cloud-based system. .
[049]Referring to Figure 8, a process is illustrated for displaying a plurality of applications according to various modalities. A user requests available views from a server. The server retrieves stored views for the user. The ACS 110 loads the view details into a layout engine. The ACS 110 determines the GUI type (eg mobile or desktop). In response to the GUI being a mobile GUI, the ACS 110 can reduce bandwidth and configure the layout to be mobile friendly. In response to the GUI being a desktop, the ACS 110 can modify the layout size to fit large displays and high definition graphics. Each application can load its associated data.
[050]Referring to Figure 9, a process for removing an application from a layout is illustrated according to various modalities. A user can request that an application be removed from the GUI. The ACS 110 may remove the application from the GUI. The ACS 110 can reposition remaining applications to substantially fill the GUI. Referring to Figure 10, a process for resizing a layout is illustrated according to various modalities. A user can resize a visualization. The ACS 110 can determine if there is a change in orientation or a significant change in size. In response to no change in orientation or significant size change, the ACS 110 can resize applications to substantially fill the view. In response to the determination that the user has changed the orientation or significantly changed the size of the view, the ACS 110 can recalculate an optimal layout as further described in the present invention. Referring to Figure 11, a process for disabling an application is illustrated according to various modalities. A first application can transmit a request to the ACS 110 to disable a second application. The ACS 110 can determine if the first application has the appropriate permission to disable the second application. In response to the determination that the first application does not have the proper permission, the ACS 110 may report back to the GUI that the request was denied. In response to the determination that the first application is allowed to disable the second application, the ACS 110 can disable the second application and refresh the display in the GUI.
[051]Referring to Figure 12, a process for increasing the size of an application is illustrated according to various modalities. A user can request that an application be displayed in a larger mode. The ACS 110 can display the application in larger mode and the ACS 110 can reposition the remaining applications to substantially fill the remaining portion of the GUI.
[052]Referring to Figure 13, a process for moving an application is illustrated according to various modalities. A user can drag an application or otherwise indicate a request to move the application in the GUI. The ACS 110 can reshape the optimal layout in real time as the user moves the application. In response to the user placing the application in an invalid position, the ACS 110 may return the display to the previous layout. In response to the user placing the application in a valid position, the ACS 110 can recalculate an optimal layout with the application in the user's desired position.
[053] Any communication, transmission and/or channel discussed in the present invention may include any system or method for delivering content (eg, data, information, metadata, etc.) and/or the content itself. The content may be presented in any form or medium and, in various modalities, the content may be delivered electronically and/or be capable of being presented electronically. For example, a channel can comprise a website, a uniform resource locator ("URL"), a document (eg, a Microsoft Word document, a Microsoft Excel document, an Adobe .pdf document, and so on). ), an "electronic book", an "electronic magazine", an application or micro-application (as described below), an SMS or other type of text message, an electronic mail, Facebook, Twitter, MMS and/or other type of technology of communication. In various embodiments, a channel can be hosted or provided by a data partner. In various embodiments, the distribution channel may comprise at least one of a commerce website, a social media website, affiliate or partner websites, an outside vendor, a mobile device communication, a media network social and/or location-based service. Distribution channels may include at least one of a commerce website, a social media website, affiliate or partner websites, an external vendor, and a mobile device communication. Examples of social media sites include Facebook®, Foursquare®, Twitter®, My Space®, Linkedln®, and the like. In addition, examples of mobile device communications include text, e-mail, and mobile applications for smart phones.
[054]A "consumer profile" or "consumer profile data" may comprise any information or data about a consumer that describes an attribute associated with the consumer (e.g. a preference, an interest, demographic information, personally identifiable information and the like).
[055] In various embodiments, the methods described in the present invention are implemented using the various particular machines described in the present invention. The methods described in the present invention can be implemented using the particular machines below and these further developed, in any suitable combination, as would be readily appreciated by one skilled in the art. Furthermore, as is unambiguous from this disclosure, the methods described in the present invention may result in various transformations of certain articles.
[056]For the sake of brevity, conventional data networking, application development and other functional aspects of systems (and individual operating system components of systems) may not be described in detail in the present invention. Additionally, the connecting lines shown in the various Figures contained in the present invention are intended to represent exemplary functional relationships and/or physical couplings between the various elements. It should be noted that many alternative or additional functional relationships or physical connections may be present in a practical system.
[057] The various system components discussed in the present invention may include one or more of the following: a host server or other computing systems that include a processor for processing digital data; a memory coupled to the processor for storing digital data; an input digitizer coupled to the processor for inputting digital data; an application program stored in memory and accessible through the processor to direct processing of digital data through the processor; a display device coupled to the processor and memory for displaying information derived from digital data processed through the processor; and a plurality of databases. Various databases used in the present invention may include: customer data; trade data; financial institution data; and/or similar data useful in operating the system. As those skilled in the art will appreciate, the user's computer may include an operating system (e.g., Windows NT, Windows 95/98/2000, Windows XP, Windows Vista, Windows 7, OS2, UNIX, Linux, Solaris, MacOS, etc.) as well as various conventional supporting software and drivers typically associated with computers.
[058] This system or any part or function thereof may be deployed using hardware, software or a combination thereof and may be deployed in one or more computer systems or other processing systems. However, manipulations performed by modalities were often referred to in terms, such as match or select, that are commonly associated with mental operations performed by a human operator. None of such capability of a human operator is necessary or desirable in most cases in any of the operations described in the present invention. Preferably, the operations may be machine operations. Useful machines for performing the various modalities include general purpose digital computers or similar devices.
[059] Indeed, in various embodiments, the modalities are directed to one or more computer systems capable of performing the functionality described in the present invention. The computer system includes one or more processors. The processor is connected to a communication infrastructure (eg, a communications bus, crossbar, or network). Various software embodiments are described in terms of that exemplary computer system. Upon reading this description, it will become apparent to one skilled in the relevant art how to implement various modalities that use other computer systems and/or architectures. The computer system may include a display interface that forwards graphics, text, and other data from the communication infrastructure (or from a temporary frame store not shown) for display on a display unit.
[060] The computer system also includes main memory, such as, for example, random access memory (RAM) and may also include secondary memory. Secondary memory may include, for example, a hard disk drive and/or a removable storage unit, which represents a floppy disk drive, a magnetic tape drive, an optical disk drive, etc. The removable storage drive reads and/or writes to a removable storage drive in a well-known manner. Removable storage drive represents a floppy disk, magnetic tape, optical disk, etc. which is read and written by the removable storage drive. As will be seen, the removable storage drive includes a computer usable storage medium that has stored the same computer software and/or data.
[061] In various embodiments, secondary memory may include other similar devices to allow computer programs or other instructions to be loaded into the computer system. Such devices may include, for example, a removable storage drive and an interface. Examples of this might include a program cartridge and cartridge interface (such as found in video game devices), a removable memory chip (such as a programmable erasable read-only memory (EPROM) or programmable read-only memory. (PROM)) and associated socket and other removable storage drives and interfaces, which allow software and data to be transferred from the removable storage drive to the computer system.
[062]The computer system may also include a communications interface. The communications interface allows software and data to be transferred between the computer system and external devices. Examples of a communications interface may include a modem, a network interface (such as an Ethernet card), a communications port, a Personal Computer Card Memory International Association (PCMCIA) slot and card, etc. The software and data transferred through the communications interface are in the form of signals that may be electronic, electromagnetic, optical, or other signals capable of being received by the communications interface. These signals are provided to the communications interface over a communications path (eg channel). This channel carries signals and can be deployed using wire, cable, fiber optics, a telephone line, a cellular link, a radio frequency (RF) link, wireless, and other communications channels.
[063] The terms "computer program medium" and "computer usable medium" are used to refer generally to media such as a removable storage drive and a hard disk installed in the hard disk drive. These computer program products provide software for the computer system.
[064]Computer programs (also called computer control logic) are stored in main memory and/or secondary memory. Computer programs can also be received through the communications interface. Such computer programs, when executed, allow the computer system to execute the resources as discussed in the present invention. In particular, computer programs, when executed, allow the processor to execute resources in various modalities. Accordingly, such computer programs represent computer system controllers.
[065] In various embodiments, the software may be stored in a computer program product and loaded into the computer system using the removable storage drive, hard disk drive or communications interface. Control logic (software), when executed through the processor, causes the processor to perform the functions of various modes as described in the present invention. In various embodiments, hardware components such as application-specific integrated circuits (ASICs). The implementation of the hardware state machine for the purpose of performing the functions described in the present invention will be evident to those skilled in the relevant art.
[066] In various embodiments, the server may include application servers (eg WEB SPHERE, WEB LOGIC, JBOSS). In various embodiments, the server may include web servers (eg APACHE, IIS, GWS, SUN JAVA SYSTEM WEB SERVER).
[067] A web client includes any device (eg, personal computer) that communicates over any network, for example, such as those discussed in the present invention. Such browser applications comprise Internet browsing software installed within a computing unit or a system to conduct online transactions and/or communications. Such computing units or systems may take the form of a computer or set of computers, although other types of computing units or systems may be used, including laptops, notebooks, tablets, portable computers, personal digital assistants, converters, workstations , computer servers, mainframe computers, minicomputers, PC servers, ubiquitous computers, networked computer sets, personal computers such as iPads, iMACs and MacBooks, kiosks, terminals, devices and/or point-of-sale (POS) terminals , televisions or any other device capable of receiving data over a network. A web client can run Microsoft Internet Explorer, Mozilla Firefox, Google Chrome, Apple Safari or any other of the numerous software packages available for browsing the internet.
[068] Professionals will appreciate that a web client may or may not be in direct contact with an application server. For example, a web client may access the services of an application server through another server and/or hardware component, which may have a direct or indirect connection to an Internet server. For example, a web client can communicate with an application server through a load balancer. In various embodiments, access is via a network or the Internet via a commercially available web browser software package.
[069] As those skilled in the art will appreciate, a web client can include, but is not limited to, an operating system (e.g. Windows NT, 95/98/2000/CE/Mobile, OS2, UNIX, Linux, Solaris, MacOS, PalmOS, etc.) as well as various conventional supporting software and drivers typically associated with computers. A web client may include, but is not limited to, any suitable personal computer, networked computer, workstation, personal digital assistant, cell phone, smart phone, minicomputer, mainframe, or the like. A web client can be in a home or corporate environment with access to a network. In various embodiments, access is via a network or the Internet via a commercially available web browser software package. A web client can deploy security protocols such as Sockets Layer Security (SSL) and Transport Layer Security (TLS). A web client can deploy various application layer protocols which include http, https, ftp and sftp.
[070] In various embodiments, system components, modules and/or mechanisms 100 can be deployed as microapplications. Micro-applications are typically employed in the context of a mobile operating system, which includes, for example, a Palm mobile operating system, a Windows mobile operating system, an Android operating system, Apple iOS, a Blackberry operating system, and the like. The microapplication can be configured to leverage the resources of the larger operating system and associated hardware through a set of predetermined rules that govern the operations of various operating systems and hardware resources. For example, where a microapplication wishes to communicate with a device or network in addition to the mobile device or operating system, the microapplication may leverage the communication protocol of the operating system and associated device hardware in accordance with the predetermined rules of the mobile operating system. Furthermore, where the microapplication wants input from a user, the microapplication can be configured to request a response from the operating system which monitors various hardware components and then communicates detected input from the hardware to the microapplication.
[071] "Cloud" or "Cloud computing" includes a model for enabling convenient on-demand network access to a shared pool of configurable computing resources (e.g. networks, servers, storage, applications and services) that can be quickly provided and released with minimal management effort or service provider interaction. Cloud computing can include location-independent computing, whereby shared servers provide resources, software, and data to computers and other devices on demand. For more information on cloud computing, see the NIST's (National Institute of Standards and Technology) definition of cloud computing at http://csrc.nist.gov/groups/SNS/cloud-computing/cloud-def- vl5.doc (last visited February 4, 2011), which is incorporated herein by reference in its entirety.
[072] As used in the present invention, "broadcast" may include sending electronic data from one system component to another over a network connection. Additionally, as used in the present invention, "data" may include encompassing information such as commands, requests, files, data for storage and the like in digital or any other form.
[073]The system contemplates uses in association with web services, service computing, individualized and ubiquitous computing, security and identity solutions, autonomic computing, cloud computing, amenity computing, mobility and wireless solutions, open source , biometrics, network computing and/or mesh computing.
[074] Any databases discussed in the present invention may include relational, hierarchical, graphical or goal-oriented structure configurations and/or any other database configurations. Conventional database products that can be used to deploy the databases include DB2 from IBM (Armonk, NY, USA), various database products available from Oracle Corporation (Redwood Shores, CA, USA), Microsoft Access or Microsoft SQL Server from Microsoft Corporation (Redmond, Washington, USA), MySQL from MySQL AB (Uppsala, Sweden), or any other suitable database product. Furthermore, databases can be organized in any suitable way, for example as data tables or lookup tables. Each record can be a single file, a series of files, a linked series of data fields, or any other data structure. Binding of certain data may be accomplished by any desired data binding technique such as those known or practiced in the art. For example, association can be performed manually or automatically. Automatic join techniques can include, for example, a database lookup, a database consolidation, GREP, AGREP, SQL, which use a key field in tables for speed lookups, sequential lookups through all tables and files, sorting records in the file according to a known order to simplify querying, and/or the like. The association step can be performed by a database consolidation function, for example using a "key field" in pre-selected databases or data sectors. Several database tuning steps are contemplated to optimize database performance. For example, frequently used files such as indexes can be placed on separate file systems to reduce Input/Output ("I/O") obstructions.
[075]More particularly, a "key field" divides the database according to the high-level class of objects defined by the key field. For example, certain data types can be designated as a key field in a plurality of related data tables and the data tables can then be linked based on the data type in the key field. The data corresponding to the key field in each of the linked data tables is preferably the same or of the same type. However, data tables that have similar, though not identical, data in key fields can also be linked using AGREP, for example. In accordance with various embodiments, any suitable data storage technique can be used to store data without a standard format. Datasets can be stored using any suitable technique, which includes, for example, storing individual files using an ISO/IEC 7816-4 file structure; deploying a domain whereby a dedicated file is selected, which exposes one or more elementary files that contain one or more sets of data; use datasets stored in individual files that use a hierarchical filing system; datasets stored as records in a single file (which includes compression, accessible SQL, hashed through one or more keys, numeric, alphabetic by first tuple, etc.); Binary Large Object (BLOB); stored as ungrouped data elements encoded using ISO/IEC 7816-6 data elements; stored as ungrouped data elements encoded using ISO/IEC Abstract Syntax Notation (ASN.l) as in ISO/IEC 8824 and 8825; and/or other particular techniques which may include fractal compression methods, image compression methods, etc.
[076] In various embodiments, the ability to store a wide variety of information in different formats is facilitated by storing the information as a BLOB. In this way, any binary information can be stored in a storage space associated with a dataset. As discussed above, binary information may be stored in the financial transaction instrument or external to, but affiliated with, the financial transaction instrument. The BLOB method can store datasets as ungrouped data elements formatted as a binary block through fixed memory offset that uses fixed storage allocation, circular queuing techniques, or best practices regarding memory management (e.g. (e.g. paged memory, least recently used, etc.). Through the use of BLOB methods, the ability to store multiple datasets that have different formats facilitates storage of data associated with the financial transaction instrument by multiple, unrelated owners of the datasets. For example, a first set of storeable data may be provided by a first party, a second storeable data set may be provided by an unrelated second party, and yet a third set of data can be stored. stored may be provided by a third party unrelated to the first and second parties. Each of these three exemplary data sets may contain different information that is stored using different formats and/or data storage techniques. In addition, each dataset can contain subsets of data that can also be distinguished from other subsets.
[077] As set out above, in various embodiments, data may be stored relative to a common format. However, in various embodiments, the dataset (eg, BLOB) may be annotated in a standard manner when provided to manipulate data about the financial transaction instrument. The annotation may comprise a short header, trailer, or other appropriate indicator related to each dataset that is configured to convey information useful in managing the various datasets. For example, the annotation may be called a "condition header", "header", "trailer", or "status" in the present invention, and may comprise an indication of the status of the dataset or may include an identifier correlated to a specific shipper or owner of the data. In one example, the first three bytes of each BLOB dataset can be configured or configurable to indicate the status of that particular dataset; for example, LOADED, INITIALIZED, READY, LOCKED, REMOVABLE, or DELETED. Subsequent bytes of data may be used to indicate, for example, the identity of the shipper, user, transaction/loyalty account identifier or the like. Each of these condition annotations is discussed further in the present invention.
[078]Dataset annotation can also be used for other types of information as well as various other purposes. For example, the dataset annotation might include security information that establishes access levels. Access levels can, for example, be configured to allow only certain individuals, levels of employees, companies or other entities to access datasets or to allow access to specific datasets based on transaction, trade, shipper , user or similar. Additionally, security information may restrict/allow only certain actions such as accessing, modifying and/or deleting datasets. In one example, the dataset annotation indicates that only the owner or user of the dataset is authorized to delete a dataset, multiple identified users may be authorized to access the dataset for reading, and others are in general excluded from dataset access. However, other access restriction parameters can also be used allowing multiple entities to access a dataset with various levels of permission as appropriate.
[079]Data, which includes the header or trailer, may be received by a stand-alone interaction device configured to add, delete, modify or augment the data in accordance with the header or trailer. As such, in various embodiments, the header or trailer is not stored on the transaction device along with the associated shipper data, but instead, appropriate action can be taken by providing, to the user, the transaction instrument. on the standalone device, of the appropriate action to be taken. The system may include data storage management where the header or trailer, or the header or trailer history, of the data is stored in the transaction instrument in relation to the appropriate data.
[080] A person skilled in the art will also note that, for security reasons, any databases, systems, devices, servers or other system components may consist of any combination thereof in a single location or in multiple locations, where each database or system includes any one of several suitable security features such as firewalls, passcodes, encryption, decryption, compression, decompression and/or the like.
[081] Encryption may be performed by any of the techniques now available in the art or as may become available, e.g. Twofish, RSA, El Gamal, Schorr signature, DSA, PGP, PKI, GPG (GnuPG) and symmetric and asymmetric encryption trunks.
[082]The web client computing unit may be additionally equipped with an internet browser connected to the internet or an intranet using standard dial-up, cable, DSL or any other internet protocol known in the art. Transactions originating on a web client may pass through a firewall to prevent unauthorized access by users on other networks. Additionally, additional firewalls can be positioned between the various ACS components for even better security.
[083]The firewall may include any hardware and/or software properly configured to protect ACS components and/or enterprise computing resources from users on other networks. In addition, a firewall can be configured to limit or restrict access to various systems and components behind the firewall for web clients connecting through a web server. The firewall can reside in various configurations that include Stateful Inspection, Proxy-based, Access Control Lists, and Packet Filtering, among others. The firewall can be integrated into a web server or any other ACS components or reside as a separate entity. A firewall may implement network address translation ("NAT") and/or network address port translation ("NAPT"). A firewall can accommodate various tunneling protocols to facilitate secure communications, such as those used in private network virtualization. A firewall may deploy a demilitarized zone ("DMZ") to facilitate communications with a public network such as the Internet. A firewall may be integrated as software within an Internet server, any other application server components, or it may reside on another computing device, or it may take the form of a standalone hardware component. The computers discussed in the present invention may provide a suitable website or other Internet-based graphical user interface that is accessible by users. In various embodiments, Microsoft Internet Information Server (IIS), Microsoft Transaction Server (MTS) and Microsoft SQL Server are used in conjunction with the Microsoft operating system, Microsoft NT web server software, a Microsoft SQL base system data server and a Microsoft Commercial Server. Additionally, components such as Access or Microsoft SQL Server, Oracle, Sybase, Informix MySQL, Interbase, etc., can be used to provide an Active Data Object (ADO) compliant database management system. In various embodiments, the Apache web server is used in conjunction with a Linux operating system, a MySQL database, and the Perl, PHP, and/or Python programming languages.
[084] Any of the communications, inputs, storage, databases or displays discussed in the present invention may be facilitated through a website that has web pages. The term "web page" as used in the present invention is not intended to limit the type of documents and applications that can be used to interact with the user. For example, a typical website may include, in addition to standard HTML documents, various forms, Java applications, JavaScript, live server pages (ASP), common gateway interface (CGI) scripts, extensible markup language (XML), dynamic HTML, Cascading Style Sheets (CSS), AJAX (Javascript AND Asynchronous XML), helper applications, plug-ins, and the like. A server can include a web service that receives a request from a web server, where the request includes a URL (http://yahoo.com/stockquotes/ge) and an IP address (123.56.789.234). The web server retrieves the appropriate web pages and sends the data or applications for the web pages to the IP address. Web services are applications that are able to interact with other applications through communications, such as the internet. Web services are typically based on standards or protocols such as XML, SOAP, AJAX, WSDL, and UDDI. Web services methods are well known in the art and are covered in many standard texts. See, for example, ALEX NGHIEM, IT WEB SERVICES: A ROADMAP FOR THE ENTERPRISE (2003), incorporated herein by reference.
[085]Middleware can include any hardware and/or software suitably configured to facilitate communications and/or process transactions between very different computing systems. Middleware components are commercially available and known in the art. Middleware can be deployed using commercially available hardware and/or software, predefined hardware and/or software components, or a combination thereof. Middleware can reside in a variety of configurations and can exist as a standalone system or it can be a software component that resides on the Internet server. Middleware can be configured to process transactions between the various components of an application server and any number of internal or external systems for any of the purposes disclosed in the present invention. WebSphere MQTM (formerly MQSeries) from IBM, Inc. (Armonk, NY, USA) is an example of a commercially available middleware product. An Enterprise Service Bus ("ESB") application is another example of middleware.
[086]Professionals will also appreciate that there are numerous methods for displaying data within a browser-based document. Data can be represented as standard text or within a fixed list, scrollable list, drop-down list, editable text field, fixed text field, pop-up window and the like. Likewise, there are numerous methods available for modifying data on a web page such as, for example, free text input using a keyboard, selection of menu items, checkboxes, checkboxes, and the like.
[087] The system and method can be described in the present invention in terms of function block components, screenshots, optional selections and various processing steps. It should be appreciated that such function blocks may be realized by any number of hardware and/or software components configured to perform the specified functions. For example, the system may employ various integrated circuit components, e.g. memory elements, processing elements, logic elements, lookup tables and the like, which may perform a variety of functions under the control of one or more microprocessors or other control devices. Similarly, system software elements can be deployed with any programming or scripting language such as C, C++, C#, Java, JavaScript, VBScript, Macromedia Cold Fusion, COBOL, Microsoft Active Server Pages, Assembly, PERL, PHP, Awk, Python, Visual Basic, SQL Stored Procedures, PL/SQL, any UNIX Shell script and extensible markup language (XML) with the various algorithms that are deployed with any combination of data structures, objects, processes, routines or other programming elements. In addition, it should be noted that the system may employ any number of conventional techniques for data transmission, signaling, data processing, network control, and the like. In addition, the system could be used to detect or prevent security issues with a client-side scripting language such as JavaScript, VBScript or similar. For a basic introduction to cryptography and network security, see any of the following references: (1) "Applied Cryptography: Protocols, Algorithms, And Source Code In C" by Bruce Schneier, published by John Wiley & Sons (second edition, 1995); (2) "Java Cryptography" by Jonathan Knudson, published by O'Reilly & Associates (1998); (3) "Cryptography & Network Security: Principles & Practice" by William Stallings, published by Prentice Hall; all of which are incorporated herein by reference.
[088] As will be observed by one of ordinary skill in the art, the system can be incorporated as a customization of an existing system, an add-on product, an updated software running processing apparatus, a stand-alone system, a distributed system, a method, a data processing system, a data processing device and/or a computer program product. Accordingly, any portion of the system or a module may take the form of a processing apparatus execution code, an internet-based modality, a complete hardware modality, or a modality that combines aspects of the internet, software and hardware. Additionally, the system may take the form of a computer program product on a computer-readable storage medium that has computer-readable program code media incorporated into the storage medium. Any suitable computer-readable storage medium may be used, which includes hard disks, CD-ROMs, optical storage devices, magnetic storage devices and/or the like.
[089] The system and method are described in the present invention with reference to screen shots, block diagram and flowchart illustrations of methods, apparatus (e.g. systems) and computer program products in accordance with various embodiments . It will be understood that each functional block of the block diagram and flowchart illustrations and combinations of function blocks in the block diagram and flowchart illustrations, respectively, can be implemented by means of computer program instructions.
[090]These computer program instructions may be loaded into a general-purpose computer, special-purpose computer or other programmable data processing apparatus to produce a machine such that the instructions executing the computer or other Programmable data processing creates the means to implement specific functions in a flowchart block or blocks. Such computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce a article of manufacture that includes instructional means that implement specific function to the flowchart block or blocks. Computer program instructions may also be loaded into a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or programmable apparatus to produce a computer-implanted process such that the instructions that runs the computer or other programmable device provide steps to implement the functions specific to the flowchart block or blocks.
[091] Consequently, the function blocks of the block diagram and flowchart illustrations support combinations of means to perform the specific functions, combinations of steps to perform the specific functions, and program instruction means to perform the specific functions. It will also be understood that each functional block in the block diagram and flowchart illustrations, and combinations of function blocks in the block diagram and flowchart illustrations, may be deployed via general purpose hardware-based computer systems that perform the steps or specific functions or suitable combinations of computer instructions and special-purpose hardware. In addition, illustrations of process flows and descriptions thereof may reference user windows, web pages, websites, web forms, notices, etc. Those skilled in the art will find that the illustrated steps described in the present invention may comprise any number of configurations that include the use of windows, web pages, web forms, pop-up windows, prompts, and the like. Also, it should be appreciated that the multiple steps as illustrated and described can be combined into single windows and/or web pages, but have been expanded for simplicity. In other cases, the steps illustrated and described as single process steps may be separated into multiple windows and/or web pages, but have been combined for simplicity.
[092] It should be understood that the term "non-transient" removes only transient propagation signals, per se, from the scope of the claim and does not cede rights to all standard computer-readable media that are not just transient propagation signals. per se. Otherwise stated, the meaning of the terms "non-transient computer-readable medium" and "non-transient computer-readable storage medium" should be interpreted to exclude only those types of transient computer-readable media that were found in In Re Nuijten to be outside the scope of patentable subject matter under Title 35, paragraph 101, of the United States Code.
[093] The benefits, other advantages and solutions to the problems have been described in the present invention with respect to specific embodiments. However, benefits, advantages, solutions to problems and any elements that could cause any benefit, advantage or solution to occur or become more pronounced should not be interpreted as essential, required or critical elements or features of the disclosure. The reference to an element in the singular is not intended to mean "one and only one", unless explicitly stated otherwise, but rather "one or more". Furthermore, a sentence similar to "at least one of A , B and C" or "at least one of A, B or C" is used in the claims or specification, it is intended that the phrase be interpreted to mean that A alone may be present in one embodiment, B alone may be present in an modality, C alone can be present in one modality or that any combination of the elements A, B and C can be present in a single modality; for example, A and B, A and C, B and C or A and B and C. While the disclosure includes a method, it is contemplated that it may be embodied as computer program instructions on a tangible computer-readable carrier, such as an optical or magnetic memory or an optical or magnetic disk. structural elements for the Exemplary embodiments described above that are known to those of ordinary skill in the art are expressly incorporated into the present invention by way of reference and are intended to be embraced by the present claims. Furthermore, it is not necessary for a device or method to address each and every problem sought to be solved by the present disclosure in order for it to be encompassed by the present claims. Additionally, no element, component, or method step in the present disclosure is intended to be exclusive to the public regardless of whether the element, component, or method step is explicitly mentioned in the claims. No element of claim of the present invention shall be construed pursuant to the provisions of Title 35, paragraph 112, of the United States Code, sixth paragraph, unless the element is expressly mentioned using the phrase "means to." As used in the present invention, the terms "comprises", "comprising" or any other variation thereof are intended to cover a non-exclusive inclusion such that a process, method, article or apparatus comprising a list of elements does not include only those elements, but may include other elements not expressly listed or inherent in such process, method, article or apparatus.
权利要求:
Claims (13)
[0001]
1. Computer-implemented method CHARACTERIZED by the fact that it comprises: determining, by a computer-based system, a standard number or applications to be displayed in a graphical user interface ("GUI"); selecting, by a computer-based system and based on the default number of applications, a plurality of applications to be displayed on the GUI; determining, by the computer-based system, a relative size for each of the plurality of applications; formatting, by the computer-based system, the GUI in such a way that the plurality of applications populate the GUI; activate, by the computer-based system and based on input from a user, a first application in the plurality or applications; resize, by the computer-based system, the first application; activating, by the computer-based system and in response to activation of the first application, a second application in the plurality of applications; resize, by the computer-based system, the second application such that the plurality of applications fills the GUI; removing, by the computer-based system and in response to activation of the second application, a deactivated application from the plurality of applications displayed in the GUI; receiving, by the computer-based system and through the first application, input comprising a first task; analyze, by the computer-based system, the entry in keywords; determining, by the computer-based system, that the second application contains obtainable data in order to complete the first task; transmit, by the computer-based system and based on keywords, a request to the second application; and transmitting, by the computer-based system, the data from the second application to the first application through an application programming interface.
[0002]
2. Method, according to claim 1, CHARACTERIZED in that it additionally comprises adding, by the computer-based system, a subsequent application to the plurality of applications.
[0003]
3. Method, according to claim 2, CHARACTERIZED by the fact that it additionally comprises incorporating, by the computer-based system, the subsequent application to the GUI, in which the incorporation of the subsequent application to the GUI comprises resizing the plurality of applications, in such a way so that the plurality of applications and the subsequent application populate the GUI.
[0004]
4. Method according to claim 1, CHARACTERIZED by the fact that the relative size for each of the plurality of applications is based on at least one of a frequency of use of the plurality of applications, and a user rating of the plurality of applications.
[0005]
5. Method according to claim 1, CHARACTERIZED in that it additionally comprises resizing, by the computer-based system, the first application in the plurality of applications based on user input.
[0006]
6. Method, according to claim 1, CHARACTERIZED in that it additionally comprises: locking, by the computer-based system and based on first user input, a size of the first application in the plurality of applications; resizing, by the computer-based system and based on second user input, the second application in the plurality of applications; and resizing, by the computer-based system and in response to the second user input, remaining applications in the plurality of applications, such that the plurality of applications fills the GUI, wherein the size of the first application remains constant.
[0007]
7. Method according to claim 1, CHARACTERIZED in that it further comprises increasing, by the computer-based system and in response to the activation of the first application, a size of the first application.
[0008]
8. Method according to claim 1, CHARACTERIZED by the fact that the plurality of applications is selected based on an active application.
[0009]
9. Method, according to claim 1, CHARACTERIZED in that it additionally comprises receiving, by the computer-based system and through a first application in the plurality of applications, a request.
[0010]
10. Method according to claim 1, CHARACTERIZED in that it additionally comprises receiving, by the computer-based system, first data in the first application in the plurality of applications, and loading, by the computer-based system, second data in the second application in the plurality of applications, where the second data is relevant to the first data.
[0011]
11. Method according to claim 1, CHARACTERIZED in that it additionally comprises: receiving, by the computer-based system, a selection of a student in a student list application in the plurality of applications; loading, by the computer-based system, student-related content into a grading application in the plurality of applications and a communication application in the plurality of applications; transmit, by the computer-based system and based on information in the grading application, a message to the student through the communication application.
[0012]
12. System, CHARACTERIZED by the fact that it comprises: a processor for displaying applications in a graphical user interface ("GUI"), a tangible non-transient memory configured to communicate with the processor, tangible non-transient memory having instructions stored in the which, in response to execution by the processor, cause the processor to perform operations comprising: a, terminating, by the processor, a default number of applications to be displayed on the GUI; b, teach, by the processor and based on the default number of applications, a plurality of applications to be displayed on the GUI; c, terminate, by the processor, a relative size for each of the plurality of applications; processor-formatting the GUI in such a way that the plurality of applications populates the GUI; activate, by the processor and based on input from a user, a first application in the plurality of applications; resize, by the processor, the first application; activating, by the processor and in response to activation of the first application, a second application in the plurality of applications; resize, by the processor, the second application such that the plurality of applications fills the GUI; removing, by the processor and in response to activation of the second application, a deactivated application from the plurality of applications displayed in the GUI; receiving, by the processor and via the first application, input comprising a first task; parsing, by the processor, the input in keywords; determining, by the processor, that the second application contains obtainable data in order to complete the first task; transmit, by the processor and based on the keywords, a request to the second application; and transmitting, by the processor, the data from the second application to the first application through an application programming interface.
[0013]
13. Article of manufacture, CHARACTERIZED by the fact that it includes a non-transient, tangible, computer-readable storage medium that has computer-executable instructions stored on it that, in response to execution by a computer-based system to display applications on an interface User Graphics ("GUI"), cause the computer-based system to perform operations that include: determining, by the computer-based system, a default number of applications to be displayed on the GUI; select, by the computer-based system and based on the default number of applications, a plurality of applications to be displayed on the GUI; determining, by the computer-based system, a relative size for each of the plurality of applications; formatting, by the computer-based system, the GUI in such a way that the plurality of applications populate the GUI; activating, by the computer-based system and based on input from a user, a first application in the plurality of applications; resize, by the computer-based system, the first application; activating, by the computer-based system and in response to activation of the first application, a second application in the plurality of applications; resize, by the computer-based system, the second application such that the plurality of applications fills the GUI; removing, by the computer-based system and in response to activation of the second application, a deactivated application from the plurality of applications displayed in the GUI; receiving, by the computer-based system and through the first application, input comprising a first task; analyze, by the computer-based system, the entry in keywords; determining, by the computer-based system, that the second application contains obtainable data in order to complete the first task; transmit, by the computer-based system and based on keywords, a request to the second application; and transmitting, by the computer-based system, the data from the second application to the first application through an application programming interface.
类似技术:
公开号 | 公开日 | 专利标题
BR112015012697B1|2022-01-25|Method, system and article of manufacture to display multiple applications
US20200310625A1|2020-10-01|Systems and method for cubic graphical user interfaces
US20190163896A1|2019-05-30|Single Sign-On Solution Using Blockchain
US9336358B2|2016-05-10|Granting permission in association with an application
US10282522B2|2019-05-07|Cross-application authentication on a content management system
US9513958B2|2016-12-06|Dynamic time-based sequencing
US20160301641A1|2016-10-13|Secure messaging system utilizing a limited viewing window
US10380190B2|2019-08-13|Optimized autocompletion of search field
US20200412793A1|2020-12-31|Link file sharing and synchronization
US20200304579A1|2020-09-24|Communication protocols for an online content management system
US20170019364A1|2017-01-19|Determining potential sharing of private data associated with a private network domain to improve data security
US20190340216A1|2019-11-07|Integration system between a customer relationship management platform and an application lifecycle management platform
US20190065686A1|2019-02-28|Monitoring and assessing health record data quality
US20150100615A1|2015-04-09|Drag and drop of a uri to link resources
US20210057052A1|2021-02-25|Systems and methods for automated edit check generation in clinical trial datasets
US20200143262A1|2020-05-07|Information support system using artificial intelligence
WO2017027702A1|2017-02-16|Document management system and method
同族专利:
公开号 | 公开日
WO2014085502A1|2014-06-05|
EP2926233A1|2015-10-07|
CA2892664C|2020-01-21|
JP6310477B2|2018-04-11|
KR20210068622A|2021-06-09|
MX350344B|2017-09-05|
KR20150098634A|2015-08-28|
KR102262220B1|2021-06-09|
CN104969162A|2015-10-07|
HK1212489A1|2016-06-10|
AU2013352236B2|2018-08-02|
US9495881B2|2016-11-15|
BR112015012697A2|2017-07-11|
MX2015006550A|2016-01-20|
CA2892664A1|2014-06-05|
US20150050633A1|2015-02-19|
KR102104025B1|2020-04-23|
CN104969162B|2019-03-15|
EP2926233A4|2016-07-13|
KR20200044144A|2020-04-28|
AU2013352236A1|2015-07-02|
JP2016504676A|2016-02-12|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题

JPH0991155A|1995-09-22|1997-04-04|Hitachi Ltd|Application bridge system|
US6008809A|1997-09-22|1999-12-28|International Business Machines Corporation|Apparatus and method for viewing multiple windows within a dynamic window|
JP3611956B2|1997-10-28|2005-01-19|株式会社山武|How to display the screen window|
US7477890B1|2000-06-30|2009-01-13|International Business Machines Corporation|Demand pull—multichannel asynchronous data and application synchronization for pervasive devices|
US7937655B2|2000-12-22|2011-05-03|Oracle International Corporation|Workflows with associated processes|
US7043521B2|2002-03-21|2006-05-09|Rockwell Electronic Commerce Technologies, Llc|Search agent for searching the internet|
US7480872B1|2003-04-06|2009-01-20|Apple Inc.|Method and apparatus for dynamically resizing windows|
US7370284B2|2003-11-18|2008-05-06|Laszlo Systems, Inc.|User interface for displaying multiple applications|
US7618260B2|2004-02-27|2009-11-17|Daniel Simon R|Wearable modular interface strap|
US7853663B2|2004-03-12|2010-12-14|Riip, Inc.|Wireless management system for control of remote devices|
US20050237704A1|2004-04-22|2005-10-27|Carl Ceresoli|Wristdrive|
US8566732B2|2004-06-25|2013-10-22|Apple Inc.|Synchronization of widgets and dashboards|
US20060057960A1|2004-09-10|2006-03-16|Tran Bao Q|Systems and methods for remote data storage|
US20060085741A1|2004-10-20|2006-04-20|Viewfour, Inc. A Delaware Corporation|Method and apparatus to view multiple web pages simultaneously from network based search|
US7475112B2|2005-03-04|2009-01-06|Microsoft Corporation|Method and system for presenting a video conference using a three-dimensional object|
US7581192B2|2005-03-31|2009-08-25|Microsoft Corporation|Method and apparatus for application window grouping and management|
US7529255B2|2005-04-21|2009-05-05|Microsoft Corporation|Peer-to-peer multicasting using multiple transport protocols|
JP2008546062A|2005-05-16|2008-12-18|ウエストサービシーズインコーポレイテッド|User interface for searching and document creation|
KR100738540B1|2005-08-30|2007-07-11|삼성전자주식회사|Method and apparatus of interface in multitasking system|
KR100746008B1|2005-10-31|2007-08-06|삼성전자주식회사|Three dimensional motion graphic user interface, apparatus and method for providing the user interface|
WO2007076494A2|2005-12-24|2007-07-05|Joshua D I Distler|Methods and files for delivering imagery with embedded data|
KR100714707B1|2006-01-06|2007-05-04|삼성전자주식회사|Apparatus and method for navigation in 3-dimensional graphic user interface|
US7848093B2|2006-02-06|2010-12-07|Hardson Winston B|Digital video and music player belt buckles|
JP4982505B2|2007-01-25|2012-07-25|シャープ株式会社|Multi-window management apparatus, program, storage medium, and information processing apparatus|
US8930555B2|2007-03-08|2015-01-06|Microsoft Corporation|Extending functionality of web-based applications|
US20080241809A1|2007-03-09|2008-10-02|Ashmore Mary E|Graphical user interface and method for providing a learning system|
ITUD20070055A1|2007-03-15|2008-09-16|Eurotech S P A|WEARABLE DEVICE|
US20090035733A1|2007-08-01|2009-02-05|Shmuel Meitar|Device, system, and method of adaptive teaching and learning|
US8145264B1|2008-04-30|2012-03-27|Qualcomm Atheros, Inc.|Method and system for message transmission and reception|
KR20100052203A|2008-11-10|2010-05-19|삼성전자주식회사|Broadcasting display device and control method thereof|
KR20100056594A|2008-11-20|2010-05-28|후지제롯쿠스 가부시끼가이샤|Workspace management method, workspace management system, and computer readable medium|
WO2014151925A1|2013-03-15|2014-09-25|Proteus Digital Health, Inc.|Re-wearable wireless device|
US8471781B2|2009-03-17|2013-06-25|Litera Technologies, LLC|System and method for the auto-detection and presentation of pre-set configurations for multiple monitor layout display|
US20100309228A1|2009-06-04|2010-12-09|Camilo Mattos|Displaying Multi-Dimensional Data Using a Rotatable Object|
KR20100131724A|2009-06-08|2010-12-16|삼성전자주식회사|Method for displaying screen, method for generating screen, method for operating application, and electronic device using the same|
US8405502B2|2009-06-10|2013-03-26|Qualcomm Incorporated|Identification and connectivity gateway wristband for hospital and medical applications|
KR101608764B1|2009-07-14|2016-04-04|엘지전자 주식회사|Mobile terminal and method for controlling display thereof|
US8386455B2|2009-09-20|2013-02-26|Yahoo! Inc.|Systems and methods for providing advanced search result page content|
CN102053776B|2009-10-29|2013-11-06|深圳富泰宏精密工业有限公司|Desktop management system and method|
US10007393B2|2010-01-19|2018-06-26|Apple Inc.|3D view of file structure|
JP2011248489A|2010-05-25|2011-12-08|Yokogawa Electric Corp|Multiple windows display device|
KR101690232B1|2010-05-28|2016-12-27|엘지전자 주식회사|Electronic Device And Method Of Controlling The Same|
US9351143B2|2010-06-01|2016-05-24|Qualcomm Incorporated|Multi-homed peer-to-peer network|
US8537157B2|2010-06-21|2013-09-17|Verizon Patent And Licensing Inc.|Three-dimensional shape user interface for media content delivery systems and methods|
US20120011200A1|2010-07-06|2012-01-12|Roxbeam Media Network Corporation|Method and apparatus for data storage in a peer-to-peer network|
US8468545B2|2010-08-18|2013-06-18|8X8, Inc.|Interaction management|
US8744803B2|2010-09-30|2014-06-03|Fitbit, Inc.|Methods, systems and devices for activity tracking device data synchronization with computing devices|
US20120267432A1|2010-11-12|2012-10-25|Kuttuva Avinash|Secure payments with global mobile virtual wallet|
US20120159383A1|2010-12-20|2012-06-21|Microsoft Corporation|Customization of an immersive environment|
US20120166953A1|2010-12-23|2012-06-28|Microsoft Corporation|Techniques for electronic aggregation of information|
US9000115B2|2011-01-27|2015-04-07|Lg Chem, Ltd.|Olefin block copolymers and production methods thereof|
US8787006B2|2011-01-31|2014-07-22|Apple Inc.|Wrist-worn electronic device and methods therefor|
US10089606B2|2011-02-11|2018-10-02|Bytemark, Inc.|System and method for trusted mobile device payment|
KR101778045B1|2011-02-11|2017-09-14|삼성전자 주식회사|Method for controlling screen using mobile terminal|
US20130080541A1|2011-09-23|2013-03-28|Bulletin.Net Inc.|Peer-Based Messaging Systems and Methods|
US8774056B2|2011-09-28|2014-07-08|Schneider Electric USA, Inc.|Automated device discovery on a network|
US8930492B2|2011-10-17|2015-01-06|Blackberry Limited|Method and electronic device for content sharing|
US20130159178A1|2011-12-14|2013-06-20|Firethorn Mobile, Inc.|System and Method For Loading A Virtual Token Managed By A Mobile Wallet System|
US20130159080A1|2011-12-17|2013-06-20|LaShou Group INC.|System and Method for Mobile Device-Based Smart Wallet|
US20140012913A1|2012-07-05|2014-01-09|Devrim Varoglu|Peer-Peer Device Activation and Setup|
CN103546181A|2012-07-17|2014-01-29|高寿谦|Wearable wireless intelligent electronic device with detachable and free combination functions|
GB201213281D0|2012-07-26|2012-09-05|Highgate Labs Ltd|Data communication method and system|
US10158391B2|2012-10-15|2018-12-18|Qualcomm Incorporated|Wireless area network enabled mobile device accessory|
KR20150005215A|2013-07-05|2015-01-14|삼성전자주식회사|Rui system, rui server, rui terminal apparatus and mtehod for providing rui service|US8677377B2|2005-09-08|2014-03-18|Apple Inc.|Method and apparatus for building an intelligent automated assistant|
US10002189B2|2007-12-20|2018-06-19|Apple Inc.|Method and apparatus for searching using an active ontology|
US9330720B2|2008-01-03|2016-05-03|Apple Inc.|Methods and apparatus for altering audio output signals|
US8996376B2|2008-04-05|2015-03-31|Apple Inc.|Intelligent text-to-speech conversion|
US20100030549A1|2008-07-31|2010-02-04|Lee Michael M|Mobile device having human language translation capability with positional feedback|
US8676904B2|2008-10-02|2014-03-18|Apple Inc.|Electronic devices with voice command and contextual data processing capabilities|
US10241752B2|2011-09-30|2019-03-26|Apple Inc.|Interface for a virtual digital assistant|
US9431006B2|2009-07-02|2016-08-30|Apple Inc.|Methods and apparatuses for automatic speech recognition|
US9318108B2|2010-01-18|2016-04-19|Apple Inc.|Intelligent automated assistant|
US10276170B2|2010-01-18|2019-04-30|Apple Inc.|Intelligent automated assistant|
US8682667B2|2010-02-25|2014-03-25|Apple Inc.|User profiling for selecting user specific voice input processing information|
US20120159395A1|2010-12-20|2012-06-21|Microsoft Corporation|Application-launching interface for multiple modes|
US8689123B2|2010-12-23|2014-04-01|Microsoft Corporation|Application reporting in an application-selectable user interface|
US8612874B2|2010-12-23|2013-12-17|Microsoft Corporation|Presenting an application change through a tile|
US9459846B2|2011-01-31|2016-10-04|Sap Se|User interface style guide compliance|
US9841956B2|2011-01-31|2017-12-12|Sap Se|User interface style guide compliance reporting|
US9262612B2|2011-03-21|2016-02-16|Apple Inc.|Device access using voice authentication|
US9658766B2|2011-05-27|2017-05-23|Microsoft Technology Licensing, Llc|Edge gesture|
US9104307B2|2011-05-27|2015-08-11|Microsoft Technology Licensing, Llc|Multi-application environment|
US9158445B2|2011-05-27|2015-10-13|Microsoft Technology Licensing, Llc|Managing an immersive interface in a multi-application immersive environment|
US8893033B2|2011-05-27|2014-11-18|Microsoft Corporation|Application notifications|
US9104440B2|2011-05-27|2015-08-11|Microsoft Technology Licensing, Llc|Multi-application environment|
US10255566B2|2011-06-03|2019-04-09|Apple Inc.|Generating and processing task items that represent tasks to perform|
US10241644B2|2011-06-03|2019-03-26|Apple Inc.|Actionable reminder entries|
US20130057587A1|2011-09-01|2013-03-07|Microsoft Corporation|Arranging tiles|
US9146670B2|2011-09-10|2015-09-29|Microsoft Technology Licensing, Llc|Progressively indicating new content in an application-selectable user interface|
US10134385B2|2012-03-02|2018-11-20|Apple Inc.|Systems and methods for name pronunciation|
US9460029B2|2012-03-02|2016-10-04|Microsoft Technology Licensing, Llc|Pressure sensitive keys|
US9075566B2|2012-03-02|2015-07-07|Microsoft Technoogy Licensing, LLC|Flexible hinge spine|
US20130300590A1|2012-05-14|2013-11-14|Paul Henry Dietz|Audio Feedback|
US10417037B2|2012-05-15|2019-09-17|Apple Inc.|Systems and methods for integrating third party services with a digital assistant|
US9721563B2|2012-06-08|2017-08-01|Apple Inc.|Name recognition system|
US9547647B2|2012-09-19|2017-01-17|Apple Inc.|Voice-based media searching|
CN113470640A|2013-02-07|2021-10-01|苹果公司|Voice trigger of digital assistant|
WO2014138187A1|2013-03-05|2014-09-12|Christmas Coy|System and method for cubic graphical user interfaces|
WO2014197334A2|2013-06-07|2014-12-11|Apple Inc.|System and method for user-specified pronunciation of words for speech synthesis and recognition|
WO2014197335A1|2013-06-08|2014-12-11|Apple Inc.|Interpreting and acting upon commands that involve sharing information with remote devices|
EP3008641A1|2013-06-09|2016-04-20|Apple Inc.|Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant|
US10176167B2|2013-06-09|2019-01-08|Apple Inc.|System and method for inferring user intent from speech inputs|
US9530187B2|2013-06-13|2016-12-27|Apple Inc.|Controlling element layout on a display|
US10095873B2|2013-09-30|2018-10-09|Fasetto, Inc.|Paperless application|
US9584402B2|2014-01-27|2017-02-28|Fasetto, Llc|Systems and methods for peer to peer communication|
WO2015184186A1|2014-05-30|2015-12-03|Apple Inc.|Multi-command single utterance input method|
US9715875B2|2014-05-30|2017-07-25|Apple Inc.|Reducing the need for manual start/end-pointing and trigger phrases|
US9430463B2|2014-05-30|2016-08-30|Apple Inc.|Exemplar-based natural language processing|
US10170123B2|2014-05-30|2019-01-01|Apple Inc.|Intelligent assistant for home automation|
US9633004B2|2014-05-30|2017-04-25|Apple Inc.|Better resolution when referencing to concepts|
US9338493B2|2014-06-30|2016-05-10|Apple Inc.|Intelligent automated assistant for TV user interactions|
CN106797337B|2014-07-10|2021-06-22|法斯埃托股份有限公司|System and method for message editing|
US10324733B2|2014-07-30|2019-06-18|Microsoft Technology Licensing, Llc|Shutdown notifications|
US10254942B2|2014-07-31|2019-04-09|Microsoft Technology Licensing, Llc|Adaptive sizing and positioning of application windows|
US10678412B2|2014-07-31|2020-06-09|Microsoft Technology Licensing, Llc|Dynamic joint dividers for application windows|
US10592080B2|2014-07-31|2020-03-17|Microsoft Technology Licensing, Llc|Assisted presentation of application windows|
US9787576B2|2014-07-31|2017-10-10|Microsoft Technology Licensing, Llc|Propagating routing awareness for autonomous networks|
US9818400B2|2014-09-11|2017-11-14|Apple Inc.|Method and apparatus for discovering trending terms in speech requests|
US20170255340A1|2014-09-16|2017-09-07|Nec Corporation|Information processing apparatus, and control method and control program thereof|
US10127911B2|2014-09-30|2018-11-13|Apple Inc.|Speaker identification and unsupervised speaker adaptation techniques|
US9668121B2|2014-09-30|2017-05-30|Apple Inc.|Social reminders|
US10074360B2|2014-09-30|2018-09-11|Apple Inc.|Providing an indication of the suitability of speech recognition|
US10437288B2|2014-10-06|2019-10-08|Fasetto, Inc.|Portable storage device with modular power and housing system|
JP6695868B2|2014-10-06|2020-05-20|ファセット・インコーポレーテッド|Systems and methods for portable storage devices|
US20180247333A1|2014-11-07|2018-08-30|Google Llc|Methods and Systems For Providing a Campaign Management Summary|
US9423360B1|2015-02-09|2016-08-23|Microsoft Technology Licensing, Llc|Optical components|
US9513480B2|2015-02-09|2016-12-06|Microsoft Technology Licensing, Llc|Waveguide|
US10317677B2|2015-02-09|2019-06-11|Microsoft Technology Licensing, Llc|Display system|
US9827209B2|2015-02-09|2017-11-28|Microsoft Technology Licensing, Llc|Display system|
US9535253B2|2015-02-09|2017-01-03|Microsoft Technology Licensing, Llc|Display system|
US9372347B1|2015-02-09|2016-06-21|Microsoft Technology Licensing, Llc|Display system|
US9429692B1|2015-02-09|2016-08-30|Microsoft Technology Licensing, Llc|Optical components|
US11086216B2|2015-02-09|2021-08-10|Microsoft Technology Licensing, Llc|Generating electronic components|
US10018844B2|2015-02-09|2018-07-10|Microsoft Technology Licensing, Llc|Wearable image display system|
US10152299B2|2015-03-06|2018-12-11|Apple Inc.|Reducing response latency of intelligent automated assistants|
US9886953B2|2015-03-08|2018-02-06|Apple Inc.|Virtual assistant activation|
US9721566B2|2015-03-08|2017-08-01|Apple Inc.|Competing devices responding to voice triggers|
US10567477B2|2015-03-08|2020-02-18|Apple Inc.|Virtual assistant continuity|
EP3745679A1|2015-03-11|2020-12-02|Fasetto, Inc.|Systems and methods for web api communication|
CN104750497A|2015-04-14|2015-07-01|浪潮通信信息系统有限公司|Method and device for aggregating applications|
US10200824B2|2015-05-27|2019-02-05|Apple Inc.|Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device|
US10083688B2|2015-05-27|2018-09-25|Apple Inc.|Device voice control for selecting a displayed affordance|
US9578173B2|2015-06-05|2017-02-21|Apple Inc.|Virtual assistant aided communication with 3rd party service in a communication session|
US11025565B2|2015-06-07|2021-06-01|Apple Inc.|Personalized prediction of responses for instant messaging|
US20160378747A1|2015-06-29|2016-12-29|Apple Inc.|Virtual assistant for media playback|
US10671428B2|2015-09-08|2020-06-02|Apple Inc.|Distributed personal assistant|
US10747498B2|2015-09-08|2020-08-18|Apple Inc.|Zero latency digital assistant|
US11010550B2|2015-09-29|2021-05-18|Apple Inc.|Unified language modeling framework for word prediction, auto-completion and auto-correction|
US10366158B2|2015-09-29|2019-07-30|Apple Inc.|Efficient word encoding for recurrent neural network language models|
US10691473B2|2015-11-06|2020-06-23|Apple Inc.|Intelligent automated assistant in a messaging environment|
DE102015223001A1|2015-11-20|2017-05-24|Siemens Aktiengesellschaft|Method for operating a computer system, computer program with an implementation of the method and computer system for executing the method|
US10049668B2|2015-12-02|2018-08-14|Apple Inc.|Applying neural network language models to weighted finite state transducers for automatic speech recognition|
US10929071B2|2015-12-03|2021-02-23|Fasetto, Inc.|Systems and methods for memory card emulation|
CN105451092A|2015-12-04|2016-03-30|深圳市亿通科技有限公司|Television menu setting method and system|
CN105577512A|2015-12-14|2016-05-11|宁波康伯斯电器有限公司|Message receiving device based on application preference degree|
CN105553820A|2015-12-14|2016-05-04|宁波康伯斯电器有限公司|Message sending device based on application preference|
CN105610683A|2015-12-14|2016-05-25|宁波康伯斯电器有限公司|Application preference degree-based message transmission method|
CN105553822A|2015-12-14|2016-05-04|宁波康伯斯电器有限公司|Message transmission system based on application preference|
US10223066B2|2015-12-23|2019-03-05|Apple Inc.|Proactive assistance based on dialog communication between devices|
US10446143B2|2016-03-14|2019-10-15|Apple Inc.|Identification of voice inputs providing credentials|
US9934775B2|2016-05-26|2018-04-03|Apple Inc.|Unit-selection text-to-speech synthesis based on predicted concatenation parameters|
US9972304B2|2016-06-03|2018-05-15|Apple Inc.|Privacy preserving distributed evaluation framework for embedded personalized systems|
US11227589B2|2016-06-06|2022-01-18|Apple Inc.|Intelligent list reading|
US10249300B2|2016-06-06|2019-04-02|Apple Inc.|Intelligent list reading|
WO2017213430A1|2016-06-08|2017-12-14|재단법인 아산사회복지재단|System and method for providing medical information|
US10049663B2|2016-06-08|2018-08-14|Apple, Inc.|Intelligent automated assistant for media exploration|
DK179309B1|2016-06-09|2018-04-23|Apple Inc|Intelligent automated assistant in a home environment|
US10490187B2|2016-06-10|2019-11-26|Apple Inc.|Digital assistant providing automated status report|
US10067938B2|2016-06-10|2018-09-04|Apple Inc.|Multilingual word prediction|
US10509862B2|2016-06-10|2019-12-17|Apple Inc.|Dynamic phrase expansion of language input|
US10586535B2|2016-06-10|2020-03-10|Apple Inc.|Intelligent digital assistant in a multi-tasking environment|
US10192552B2|2016-06-10|2019-01-29|Apple Inc.|Digital assistant providing whispered speech|
DK179415B1|2016-06-11|2018-06-14|Apple Inc|Intelligent device arbitration and control|
DK179049B1|2016-06-11|2017-09-18|Apple Inc|Data driven natural language event detection and classification|
DK179343B1|2016-06-11|2018-05-14|Apple Inc|Intelligent task discovery|
DK201670540A1|2016-06-11|2018-01-08|Apple Inc|Application integration with a digital assistant|
US10599634B2|2016-06-19|2020-03-24|Qualcomm Incorporated|Signaling which version information to use on byte-range file repair|
US10474753B2|2016-09-07|2019-11-12|Apple Inc.|Language identification using recurrent neural networks|
CN107818105B|2016-09-13|2021-04-09|腾讯科技(深圳)有限公司|Recommendation method of application program and server|
US10043516B2|2016-09-23|2018-08-07|Apple Inc.|Intelligent automated assistant|
MX2019005965A|2016-11-23|2019-10-24|Fasetto Inc|Systems and methods for streaming media.|
US10593346B2|2016-12-22|2020-03-17|Apple Inc.|Rank-reduced token representation for automatic speech recognition|
US11204787B2|2017-01-09|2021-12-21|Apple Inc.|Application integration with a digital assistant|
DK201770383A1|2017-05-09|2018-12-14|Apple Inc.|User interface for correcting recognition errors|
US10417266B2|2017-05-09|2019-09-17|Apple Inc.|Context-aware ranking of intelligent response suggestions|
US10726832B2|2017-05-11|2020-07-28|Apple Inc.|Maintaining privacy of personal information|
US10395654B2|2017-05-11|2019-08-27|Apple Inc.|Text normalization based on a data-driven learning network|
DK201770439A1|2017-05-11|2018-12-13|Apple Inc.|Offline personal assistant|
DK179496B1|2017-05-12|2019-01-15|Apple Inc.|USER-SPECIFIC Acoustic Models|
DK201770427A1|2017-05-12|2018-12-20|Apple Inc.|Low-latency intelligent automated assistant|
DK179745B1|2017-05-12|2019-05-01|Apple Inc.|SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT|
DK201770431A1|2017-05-15|2018-12-20|Apple Inc.|Optimizing dialogue policy decisions for digital assistants using implicit feedback|
DK201770432A1|2017-05-15|2018-12-21|Apple Inc.|Hierarchical belief states for digital assistants|
US20180336275A1|2017-05-16|2018-11-22|Apple Inc.|Intelligent automated assistant for media exploration|
DK179549B1|2017-05-16|2019-02-12|Apple Inc.|Far-field extension for digital assistant services|
US10311144B2|2017-05-16|2019-06-04|Apple Inc.|Emoji word sense disambiguation|
US10403278B2|2017-05-16|2019-09-03|Apple Inc.|Methods and systems for phonetic matching in digital assistant services|
US10657328B2|2017-06-02|2020-05-19|Apple Inc.|Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling|
US10445429B2|2017-09-21|2019-10-15|Apple Inc.|Natural language understanding using vocabularies with compressed serialized tries|
US10755051B2|2017-09-29|2020-08-25|Apple Inc.|Rule-based natural language processing|
WO2019079628A1|2017-10-19|2019-04-25|Fasetto, Inc.|Portable electronic device connection systems|
US10636424B2|2017-11-30|2020-04-28|Apple Inc.|Multi-turn canned dialog|
US10733982B2|2018-01-08|2020-08-04|Apple Inc.|Multi-directional dialog|
US10733375B2|2018-01-31|2020-08-04|Apple Inc.|Knowledge-based framework for improving natural language understanding|
US20190251884A1|2018-02-14|2019-08-15|Microsoft Technology Licensing, Llc|Shared content display with concurrent views|
US10789959B2|2018-03-02|2020-09-29|Apple Inc.|Training speaker recognition models for digital assistants|
KR102225341B1|2018-03-08|2021-03-09|미쓰비시덴키 가부시키가이샤|Drawing support device, display system, drawing support method and drawing support program|
US10592604B2|2018-03-12|2020-03-17|Apple Inc.|Inverse text normalization for automatic speech recognition|
US10818288B2|2018-03-26|2020-10-27|Apple Inc.|Natural assistant interaction|
US10909331B2|2018-03-30|2021-02-02|Apple Inc.|Implicit identification of translation payload with neural machine translation|
EP3782112A4|2018-04-17|2022-01-05|Fasetto Inc|Device presentation with real-time feedback|
US11145294B2|2018-05-07|2021-10-12|Apple Inc.|Intelligent automated assistant for delivering content from user experiences|
US10928918B2|2018-05-07|2021-02-23|Apple Inc.|Raise to speak|
US10984780B2|2018-05-21|2021-04-20|Apple Inc.|Global semantic word embeddings using bi-directional recurrent neural networks|
US10892996B2|2018-06-01|2021-01-12|Apple Inc.|Variable latency device coordination|
DK180639B1|2018-06-01|2021-11-04|Apple Inc|DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT|
DK179822B1|2018-06-01|2019-07-12|Apple Inc.|Voice interaction at a primary device to access call functionality of a companion device|
US10496705B1|2018-06-03|2019-12-03|Apple Inc.|Accelerated task performance|
US11010561B2|2018-09-27|2021-05-18|Apple Inc.|Sentiment prediction from textual data|
US10839159B2|2018-09-28|2020-11-17|Apple Inc.|Named entity normalization in a spoken dialog system|
US11170166B2|2018-09-28|2021-11-09|Apple Inc.|Neural typographical error modeling via generative adversarial networks|
US11238751B1|2019-03-25|2022-02-01|Bubble-In, LLC|Systems and methods of testing administration by mobile device application|
DK201970509A1|2019-05-06|2021-01-15|Apple Inc|Spoken notifications|
US11140099B2|2019-05-21|2021-10-05|Apple Inc.|Providing message response suggestions|
DK180129B1|2019-05-31|2020-06-02|Apple Inc.|User activity shortcut suggestions|
KR102158432B1|2019-12-06|2020-09-24|미디어스퀘어|System and method for redeploying ui components based on user's interaction on user interface|
法律状态:
2018-11-21| B06F| Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]|
2020-04-14| B06U| Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]|
2021-11-16| B09A| Decision: intention to grant [chapter 9.1 patent gazette]|
2022-01-25| B16A| Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]|Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 26/11/2013, OBSERVADAS AS CONDICOES LEGAIS. |
优先权:
申请号 | 申请日 | 专利标题
US201261731399P| true| 2012-11-29|2012-11-29|
US61/731,399|2012-11-29|
PCT/US2013/072089|WO2014085502A1|2012-11-29|2013-11-26|System and method for displaying multiple applications|
[返回顶部]